home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / CPP / WFC010.ZIP / SRC / CNETWORK.CPP < prev    next >
C/C++ Source or Header  |  1995-12-07  |  2KB  |  116 lines

  1. #include <wfc.h>
  2. #pragma hdrstop
  3.  
  4. /*
  5. ** Author: Samuel R. Blackburn
  6. ** CI$: 76300,326
  7. ** Internet: sammy@sed.csc.com
  8. **
  9. ** You can use it any way you like as long as you don't try to sell it.
  10. **
  11. ** Any attempt to sell WFC in source code form must have the permission
  12. ** of the original author. You can produce commercial executables with
  13. ** WFC but you can't sell WFC.
  14. **
  15. ** Copyright, 1995, Samuel R. Blackburn
  16. **
  17. ** $Workfile: $
  18. ** $Revision: $
  19. ** $Modtime: $
  20. */
  21.  
  22. #if defined( _DEBUG )
  23. #undef THIS_FILE
  24. static char BASED_CODE THIS_FILE[] = __FILE__;
  25. #endif
  26.  
  27. IMPLEMENT_SERIAL( CNetwork, CObject, 1 )
  28.  
  29. #if defined( _DEBUG )
  30. #define new DEBUG_NEW
  31. #endif
  32.  
  33. /*
  34. ** CNetwork stuff
  35. */
  36.  
  37. CNetwork::CNetwork( LPCTSTR machine_name )
  38. {
  39.    m_WideMachineName = NULL;
  40.    m_MachineName.Empty();
  41.  
  42.    Open( machine_name );
  43. }
  44.  
  45. CNetwork::~CNetwork()
  46. {
  47.    Close();
  48. }
  49.  
  50. void CNetwork::Close( void )
  51. {
  52.    if ( m_WideMachineName != NULL )
  53.    {
  54.       delete [] m_WideMachineName;
  55.       m_WideMachineName = NULL;
  56.    }
  57.  
  58.    m_MachineName.Empty();
  59. }
  60.  
  61. #if defined( _DEBUG )
  62.  
  63. void CNetwork::Dump( CDumpContext& dump_context ) const
  64. {
  65.    CObject::Dump( dump_context );
  66.  
  67.    dump_context << "m_MachineName = \"" << m_MachineName << "\"\n";
  68.    dump_context << "m_ErrorCode = "     << m_ErrorCode   << "\n";
  69. }
  70.  
  71. #endif // _DEBUG
  72.  
  73. DWORD CNetwork::GetErrorCode( void ) const
  74. {
  75.    return( m_ErrorCode );
  76. }
  77.  
  78. LPCTSTR CNetwork::GetMachineName( void )
  79. {
  80.    return( (LPCTSTR) m_MachineName );
  81. }
  82.  
  83. void CNetwork::Open( LPCTSTR machine_name )
  84. {
  85.    Close();
  86.  
  87.    if ( machine_name != NULL )
  88.    {
  89.       m_WideMachineName = new WCHAR[ ::strlen( machine_name ) + 1 ];
  90.  
  91. #if defined( UNICODE )
  92.       ::strcpy( m_WideMachineName, machine_name );
  93. #else
  94.       ::ASCII_to_UNICODE( machine_name, m_WideMachineName );
  95. #endif
  96.  
  97.       m_MachineName = machine_name;
  98.    }
  99. }
  100.  
  101. void CNetwork::Serialize( CArchive& archive )
  102. {
  103.    CObject::Serialize( archive );
  104.  
  105.    if ( archive.IsStoring() )
  106.    {
  107.       archive << m_MachineName;
  108.    }
  109.    else
  110.    {
  111.       CString temp_string;
  112.       archive >> temp_string;
  113.       Open( temp_string );
  114.    }
  115. }
  116.